//package com.maya.medicalwastes;
//
//import android.app.ActivityManager;
//import android.app.PendingIntent;
//import android.content.BroadcastReceiver;
//import android.content.ComponentName;
//import android.content.Context;
//import android.content.Intent;
//import android.content.IntentFilter;
//import android.nfc.NfcAdapter;
//import android.os.Bundle;
//import android.os.Handler;
//import android.util.Log;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.LinearLayout;
//
//import androidx.appcompat.app.AppCompatActivity;
//
//import com.alisa.netFrame.viewlib.R;
//import com.alisa.netFrame.viewlib.common.ActivityType;
//import com.alisa.netFrame.viewlib.dialog.CommonMsgDialog;
//import com.alisa.netFrame.viewlib.dialog.LoadingDialog;
//import com.alisa.netFrame.viewlib.entity.BaseConfigConstant;
//import com.alisa.netFrame.viewlib.entity.PositionBaseEntity;
//import com.alisa.netFrame.viewlib.helper.ToolBarHelper;
//import com.alisa.netFrame.viewlib.manager.AppManager;
//import com.alisa.netFrame.viewlib.receiver.DateChangedReceiver;
//import com.alisa.netFrame.viewlib.util.NFCUtils;
//import com.alisa.netFrame.viewlib.util.StringUtils;
//import com.google.gson.Gson;
//
//import java.util.Date;
//
//
///**
// * @description 基础类
// * @user gzl
// * @date 2017/4/20
// * @time 9:18
// */
//
//public abstract class BaseActivity extends AppCompatActivity {
//
//    public static final String POSITION_DATA_ACTION = "com.position.onGetPosition";
//    public static final String POSITION_TINKER_ACTION = "com.tinker.ok";
//    /**
//     * log 表示
//     */
//    private static String TAG = "IPortal";
//    /**
//     * 自定义actionBar
//     */
//    private ToolBarHelper toolBarHelper;
//    /**
//     * 加载对话框
//     */
//    private LoadingDialog loadingDialog;
//    private DateChangedReceiver dataChangeReceiver;
//
//    private long lastUpdateTime = 0l;//消息的刷新
//    public boolean isNeedUpdate = false;
//    private BroadcastReceiver broadcastReceiver;
//    private BroadcastReceiver positionReceiver;//位置变化的广播
//
//    private long lastUpdateTime2 = 0l; //界面的刷新
//    private long lastHandleScanTime = 0l;//上次处理NFC/PDA的时间
//
//    protected NfcAdapter mNfcAdapter;
//    private PendingIntent mPendingIntent;
//
//    private Handler handler = new Handler();
//    private Runnable runnable = new Runnable() {
//        @Override
//        public void run() {
//            refreshData();
//            Log.d("xl", "activity refresh");
//            handler.postDelayed(this, BaseConfigConstant.REFRESH_TIME * 60 * 1000);// 间隔120秒
//        }
//    };
//    private BroadcastReceiver tinkerReceiver;
//    private Context context;
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//
//        context = this;
//
//        //设置竖屏
//        setContentView(R.layout.activity_base);
//        initialize();
//        toolBarHelper = new ToolBarHelper(this, getType(), (LinearLayout) this.findViewById(R.id.view_root));
//
//        //NFC
//        //此处adapter需要重新获取，否则无法获取message
//        mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
//        //一旦截获NFC消息，就会通过PendingIntent调用窗口
//        mPendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()), 0);
//
//        startTimer();
//    }
//
//    public void refreshData() {
//        lastUpdateTime2 = new Date().getTime();
//    }
//
//    /**
//     * @author gzl
//     * created at 15/8/21 10:54
//     * 变量初始化 子窗口中变量只执行一次初始化的变量写在这里
//     */
//    public void initialize() {
//        //注册EventBus
//        AppManager.addSomeActivityFromStack(this);
//
//        //注册时间变化广播
//        initDateChangedReceiver();
//
//        //注册室内定位位置变化广播
//        initPositionReceiver();
//
//        //注册热修复广播
//        initTinkerReveiver();
//
//    }
//
//    private void initTinkerReveiver() {
//        if (tinkerReceiver == null) {
//            tinkerReceiver = new BroadcastReceiver() {
//                @Override
//                public void onReceive(Context context, Intent intent) {
//                    if (isTopActivity()) {
//                        //当为第一个activity
//                        CommonMsgDialog msgDialog = new CommonMsgDialog(context);
//                        msgDialog.setCanceledOnTouchOutside(false);
//                        msgDialog.setCancelable(false);
//                        msgDialog.setMsgText("修复已完成，需要重启应用才可生效");
//                        msgDialog.setTitle("是否重启应用？");
//                        msgDialog.setSizeRatio(7, 15);
//                        msgDialog.setOnBtnClickListener(new CommonMsgDialog.OnBtnClickListener() {
//                            @Override
//                            public void onOkClick() {
//                                //取消
//                                AppManager.finishAllActivity();
//                            }
//
//                            @Override
//                            public void onCancelClick() {
//
//                            }
//                        });
//
//                        msgDialog.popDialog();
//                    }
//                }
//            };
//        }
//
//        if (tinkerReceiver != null) {
//            IntentFilter intentFilter = new IntentFilter();
//            intentFilter.addAction(POSITION_TINKER_ACTION);
//            registerReceiver(tinkerReceiver, intentFilter);
//        }
//
//
//    }
//
//    private void initPositionReceiver() {
//        if (positionReceiver == null) {
//            positionReceiver = new BroadcastReceiver() {
//                @Override
//                public void onReceive(Context context, Intent intent) {
//                    String message = intent.getStringExtra("data");
//                    PositionBaseEntity positionBaseEntity = new Gson().fromJson(message, PositionBaseEntity.class);
//                    onHandlePositionMessage(positionBaseEntity);
//                }
//            };
//        }
//        if (positionReceiver != null) {
//            IntentFilter intentFilter = new IntentFilter();
//            intentFilter.addAction(POSITION_DATA_ACTION);
//            registerReceiver(positionReceiver, intentFilter);
//        }
//
//    }
//
//    /**
//     * 处理定位信息
//     *
//     * @param message
//     */
//    public void onHandlePositionMessage(PositionBaseEntity message) {
//
//    }
//
//
//    private void initDateChangedReceiver() {
//        IntentFilter filter = new IntentFilter();
//        filter.addAction(Intent.ACTION_TIME_TICK);
//        filter.addAction(Intent.ACTION_TIME_CHANGED);
//        dataChangeReceiver = new DateChangedReceiver();
//        if (dataChangeReceiver != null) {
//            registerReceiver(dataChangeReceiver, filter);
//        }
//    }
//
//    /**
//     * @description 获取页面类型
//     * @author gzl
//     * @time 2017/5/25 16:35
//     */
//    public int getType() {
//        return ActivityType.NORMAL_ACTIVITY;
//    }
//
//    /**
//     * 设置背景颜色
//     */
//    public void setBackGroundColor(int color) {
//        findViewById(R.id.view_root).setBackgroundColor(color);
//    }
//
//    /**
//     * 设置内容布局n
//     *
//     * @param layoutId 内容布局文件id
//     */
//    public void setMyContentView(int layoutId, String firstTitle, String secondTitle) {
//        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//        View view = inflater.inflate(layoutId, null);
//        view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
//                ViewGroup.LayoutParams.MATCH_PARENT));
//        ((LinearLayout) this.findViewById(R.id.view_root)).addView(view);
//        toolBarHelper.setFirstTitle(firstTitle);
//        toolBarHelper.setSecondTitle(secondTitle);
//    }
//
//    /**
//     * @description 获取actionBar
//     * @author gzl
//     * @time 2017/5/23 14:23
//     */
//    public ToolBarHelper getToolBarHelper() {
//        return toolBarHelper;
//    }
//
//    /**
//     * @description初始化控件点击事件
//     * @author gzl
//     * @time 2017/5/25 17:31
//     */
//    public void initListener() {
//
//    }
//
//    /**
//     * @description 初始渲染相关view
//     * @author gzl
//     * @time 2017/5/25 17:31
//     */
//    public void setUpView() {
//
//    }
//
//    @Override
//    protected void onResume() {
//        super.onResume();
//        //注册消息变化广播
//        //        startTimer();
//
//        //设置处理优于所有其他NFC的处理
//        if (mNfcAdapter != null)
//            mNfcAdapter.enableForegroundDispatch(this, mPendingIntent, null, null);
//    }
//
//    private void startTimer() {
//        handler.postDelayed(runnable, BaseConfigConstant.REFRESH_TIME * 60 * 1000);
//    }
//
//    @Override
//    protected void onPause() {
//        super.onPause();
//        if (broadcastReceiver != null) {
//            unregisterReceiver(broadcastReceiver);
//        }
////        stopTimer();
//
//        //恢复默认状态
//        if (mNfcAdapter != null)
//            mNfcAdapter.disableForegroundDispatch(this);
//    }
//
//    private void stopTimer() {
//        handler.removeCallbacks(runnable);
//    }
//
//    @Override
//    protected void onDestroy() {
//        stopTimer();
//        AppManager.removeSomeActivityFromStack(this);
//
//
//        //取消日期监听变化
//        if (dataChangeReceiver != null) {
//            unregisterReceiver(dataChangeReceiver);
//        }
//
//        //取消位置监听变化
//        if (positionReceiver != null) {
//            unregisterReceiver(positionReceiver);
//        }
//
//        //取消热修复监听
//        if (tinkerReceiver != null) {
//            unregisterReceiver(tinkerReceiver);
//        }
//
//        super.onDestroy();
//    }
//
//
//    /**
//     * 显示对话框
//     */
//    public void showDialog() {
//        if (loadingDialog == null) {
//            loadingDialog = LoadingDialog.show(this, "正在加载中", false);
//        }
//    }
//
//    /**
//     * 显示对话框
//     */
//    public void showDialog(String message, boolean cancelable) {
//        if (loadingDialog == null) {
//            loadingDialog = LoadingDialog.show(this, message, cancelable);
//        }
//    }
//
//    /**
//     * 关闭对话框
//     */
//    public void closeDialog() {
//        if (loadingDialog != null) {
//            loadingDialog.dismiss();
//            loadingDialog = null;
//        }
//    }
//
//
//    /**
//     * 收到消息子页面在这里处理
//     *
//     * @param intent
//     */
//    protected void onHandleMesssageReceived(Intent intent) {
//        //收到消息上次刷新时间
//        if (new Date().getTime() - lastUpdateTime > 5000) {
//            lastUpdateTime = new Date().getTime();
//            isNeedUpdate = true;
//        } else {
//            isNeedUpdate = false;
//        }
//    }
//
//
//    @Override
//    protected void onNewIntent(Intent intent) {
//        super.onNewIntent(intent);
//        String tagId = NFCUtils.getRfidId(intent, this);
//        if (!StringUtils.isEmpty(tagId)) {
//            onHandleNFCResult(tagId);
//        }
//    }
//
//    public void onHandleNFCResult(String tagId) {
//        //处理NFC结果
//    }
//
//
//    private boolean isTopActivity() {
//        boolean isTop = false;
//        ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
//        ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
//        if (cn.getClassName().contains(context.getClass().getName())) {
//            isTop = true;
//        }
//        return isTop;
//    }
//
//    public boolean isCanHandleScanRel() {
//        if (new Date().getTime() - lastHandleScanTime < 1000) {
//            return false;
//        }
//
//        lastHandleScanTime = new Date().getTime();
//        return true;
//    }
//
//
//}
